#!usr/bin/env python  
# -*- coding:utf-8 -*-
""" 
@author:robot
@file: merge_to_array.py 
@version:
@time: 2023/12/31 
"""


def merge_to_array(array1, a, array2, b):
    array_ = array1[:a]
    array1[:] = []
    p1 = p2 = 0
    # 在一个while循环中不断对比p1、p2指向的元素大小，将较小的一个元素放入array1数组中，并且将指向较小元素的指针向后移动一位，
    # 直至两个数组中有一组遍历到了尾部为止。
    while p1 < a and p2 < b:
        if array_[p1] < array2[p2]:
            array1.append(array_[p1])
            p1 += 1
        else:
            array1.append(array2[p2])
            p2 += 1
    # 判断两个数组中哪一个数组没有遍历到结尾，则就将其剩余值直接移动到array1的尾部
    if p1 < a:
        array1[p1 + p2:] = array_[p1:]
    if p2 < b:
        array1[p1 + p2:] = array2[p2:]
    return array1


if __name__ == '__main__':
    array1 = [1, 2, 3, 0, 0, 0]
    a = 3
    array2 = [2, 5, 6]
    b = 3
    print(merge_to_array(array1, a, array2, b))